/***************************************************************************
 *   Copyright (C) 2009 by mj   *
 *   mj_dv@web.de   *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

// cpmaps.cpp is a part of the steamserverutil project it is the GUI using Qt 4 for the console app steamserverutil
// steamserverutil.googlecode.com

#include <QFileDialog>
#include <QMessageBox>

#include "cpmaps.h"


cpMaps::cpMaps(QWidget *parent) :
    QDialog(parent){
    setupUi(this);

    util = new steamserverutil();
    if(!util->is_installed(comboBox))
        QMessageBox::critical(this, tr("Error, no servers found"), tr("Seems like that you have not got any servers installed\nPlease install one"), QMessageBox::Ok | QMessageBox::Default);
}


void cpMaps::on_openButton_clicked()
{
    QString dir = QFileDialog::getExistingDirectory(this, tr("Set Workspace to .. "), pathEdit->text());
    if(!dir.isEmpty())
        pathEdit->setText(dir);
}

void cpMaps::on_copyButton_clicked()
{
    QString folder = pathEdit->text();

    if(folder.isEmpty())
    {
        QMessageBox::critical(this, tr("Error"), tr("Please enter a folder!"), QMessageBox::Ok | QMessageBox::Default);
        return;
    }

    //else
    copyButton->setEnabled(false);
    copyButton->setText(tr("Copying ..."));
    QApplication::setOverrideCursor(Qt::WaitCursor);
    util->copy_maps(comboBox->currentIndex(), folder.toStdString());
    QApplication::restoreOverrideCursor();
    copyButton->setText(tr("&Copy"));
    copyButton->setEnabled(true);
}

